package com.alkaid.manga.service;

import com.alkaid.commons.entity.AnimePageEntity;
import com.alkaid.commons.entity.Manga;
import com.alkaid.commons.ex.DataNotFoundException;
import com.github.pagehelper.PageInfo;

import java.util.List;

/**
 * @author Kylin
 */
public interface MangaService {
    /**
     * 获取热度排行榜
     *
     * @param num the num
     * @return the hot list
     * @throws DataNotFoundException 资源不存在
     */
    List<Manga> getHotList(Integer num) throws DataNotFoundException;

    /**
     * 获取阅读排行
     *
     * @param num the num
     * @return the count list
     * @throws DataNotFoundException 资源不存在
     */
    List<Manga> getCountList(Integer num) throws DataNotFoundException;

    /**
     * 分页获取漫画列表
     *
     * @param page the page
     * @return the all
     * @throws DataNotFoundException 资源不存在
     */
    PageInfo<Manga> getAll(AnimePageEntity page) throws DataNotFoundException;

    /**
     * 获取漫画信息
     *
     * @param id novelId
     * @return the novel play
     * @throws DataNotFoundException 资源不存在
     */
    Manga getMangaWithDetailsPlayByMangaId(Integer id) throws DataNotFoundException;
}
